﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>


//1. 字符分类函数
//2. 字符转换函数
//3. strlen的使⽤和模拟实现
//4. strcpy的使⽤和模拟实现
//5. strcat的使⽤和模拟实现
//6. strcmp的使⽤和模拟实现
//7. strncpy函数的使⽤
//8. strncat函数的使⽤
//9. strncmp函数的使⽤
//10. strstr的使⽤和模拟实现
//11. strtok函数的使⽤
//12. strerror函数的使⽤

//判断大小写
//int main()
//{
//	char a = 0;
//	while (scanf("%c", &a) != EOF)
//	{
//		if (a >='a' && a <='z')
//			printf("小写");
//		else if (a >= 'A' && a <= 'Z')
//			printf("大写");
//	}
//	return 0;
//}
#include<string.h>
#include<ctype.h>
//islower 函数 区分小写字母
//int main()
//{
//	char c = 0;
//	scanf("%c", &c);
//	int len = islower(c);
//	if (len == 0)
//		printf("大写");
//	else
//		printf("小写");
//	return 0;
//}
//int main()
//{
//	char str[] = "abcdefg";
//	char str2[] = "HellO WorlD";
//	int i = 0;
//	while (str2[i])
//	{
//		//char c = 0;
//		/*c = str[i];*/
//		if (islower(str2[i]) == 0)
//		{
//			//str[i] -= 32;
//			//str2[i] = toupper(str2[i]);
//			str2[i] = tolower(str2[i]);
//		}
//		putchar(str2[i]);
//		//printf("%c", str2[i]);
//		i++;
//	}
//	return 0;
//}

//int main()
//{
//	char a[] = "hgk";
//	printf("%zd\n", sizeof(a));
//	printf("%zd\n", strlen(a));
//	const char* str1 = "a";
//	const char* str2 = "nhghfhfh";
//	if (strlen(str1) - strlen(str2 )> 0)
//		printf("str1>str2");
//	else
//		printf("str1<str2");
//
//	return 0;
//}
//模拟实现strlen 3种
//size_t my_strlen(const char* s)
//{
//	char* start = s;
//	while (*s!='\0')
//	{
//		s++;
//		
//	}
//	return s - start;
//}
//size_t my_strlen1(const char* s)
//{
//	int count = 0;
//	while (*s++)
//	{
//		count++;
//
//	}
//	return count;
//}
//size_t my_strlen2(const char* s)
//{
//	if (*s == '\0')
//		return 0;
//	else
//		return 1 + my_strlen(s + 1);
//}
//int main()
//{
//	char str[] = "abc";
//	//size_t ret=my_strlen(str);
//	//size_t ret = my_strlen1(str);
//	size_t ret = my_strlen2(str);
//
//	printf("%d", ret);
//	return 0;
//}
//7.20 今天有点想偷懒~~